package com.car.service.service;

import com.car.service.entity.ChatMessage;

import java.util.List;

/**
 * 聊天消息服务接口
 */
public interface ChatMessageService {
    
    /**
     * 保存消息
     *
     * @param message 消息
     * @return 保存后的消息
     */
    ChatMessage saveMessage(ChatMessage message);
    
    /**
     * 根据会话ID获取消息列表
     *
     * @param sessionId 会话ID
     * @param page 页码
     * @param size 每页大小
     * @return 消息列表
     */
    List<ChatMessage> getMessagesBySessionId(String sessionId, int page, int size);
    
    /**
     * 将消息标记为已读
     *
     * @param sessionId 会话ID
     * @param receiverId 接收者ID
     */
    void markMessagesAsRead(String sessionId, Long receiverId);
    
    /**
     * 获取未读消息数
     *
     * @param sessionId 会话ID
     * @param receiverId 接收者ID
     * @return 未读消息数
     */
    int getUnreadMessageCount(String sessionId, Long receiverId);
    
    /**
     * 删除消息
     *
     * @param messageId 消息ID
     */
    void deleteMessage(Long messageId);
} 